In an Ethernet network, all nodes generate frames in the well-known Ethernet format. However, before transmission on the physical medium, the segments of data making up a frame are converted into transmittable units that are specially tailored for the particular transmission medium on which Ethernet is operating. This segmenting and conversion procedure is called “encoding”. In modern (i.e. full duplex) Ethernet systems, encoding is done continuously (i.e. even if no frame data is being transmitted). Symbols called IDLEs (written as /I/) are encoded and transmitted in the absence of frame data.
The “64B/66B transmission code” is an encoding scheme used in fiber-based 10 Gb/s Ethernet systems and described in detail in the IEEE 802.3-2005 standard. This form of encoding performs the following steps before transmission: segments the transmittable frames and interframe gap data into units of 8 bytes, encodes some control information (see FIG. 1), scrambles the 64 bit units to obtain DC balance and prepends a 2-byte control header (see FIG. 2). The 8 byte granularity of the payload leads to inefficiencies in certain topologies, as described in detail below.
Performance over certain transmission media benefits from the employment of Forward Error Correction (FEC). FEC operates over a specific quantity (“block”) of input data and results in a specific amount of parity data. The parity data is extra overhead that must be included in the data transmission stream. This can be done in various ways. One approach for employing FEC in Ethernet is a scheme like the one shown in FIG. 3. In this scheme, FEC is applied to a sequence of encoded 66b blocks. The parity is then divided into 64 bit payloads, and each 64 bit payload is prepended with a 2 bit header. These parity blocks are then inserted into the data stream following the sequence of encoded blocks that are being corrected.
Demand Assignment Multiple Access (DAMA) is a method for resource management in a data communication medium. DAMA enables attachment of a “headend” node (typically belonging to a service provider) and a number of “secondary” nodes (typically belonging to service subscribers). With DAMA (in conjunction with Time-Division Multiplexing or TDM), the headend node controls which network element is allowed to transmit at a given time.
“DOCSIS”, “IEEE 802.16”, and “IEEE 802.3 Ethernet in the First Mile” are examples of networking technologies using Time-Division DAMA mechanisms. A control protocol will typically be defined for a specific DAMA network to enable the secondary nodes to indicate their transmission bandwidth requirements to the headend (i.e. the “demand”) and for the headend to signal the “assignments” of transmission slots. All three of the networking technologies mentioned above use DAMA in a point-to-multipoint (P2MP) topology.
In a P2MP network with TDM-based DAMA, the headend node directly controls the flow of data on the downstream channel (which is received by all of the secondary nodes). The headend also assigns time slots on the upstream channel to particular secondary nodes for their transmissions, as well as “contention slots” in which a secondary node can transmit spontaneously. The upstream transmission of a secondary node within a TDM slot is referred to as a “burst”.
An Ethernet Passive Optical Network (EPON) is an Ethernet network implemented on a P2MP topology over fiberoptic media. The headend node is called the Optical Line Terminal (OLT) and the secondary node is called the Optical Network Unit (ONU). As in other P2MP networks, an EPON OLT transmits over a downstream channel received by all ONUs and assigns transmission slots on the upstream channel to specific ONUs based on their indicated needs for transmission bandwidth. Traditional Ethernet networking technology is oriented to either shared-media (half-duplex Ethernet) or point-to-point media (full-duplex Ethernet). With the introduction of P2MP architecture and DAMA to Ethernet, Ethernet protocols began to be updated for operation in so-called “burst mode”.
A number of problems arise in a system that uses burst mode upstream multiplexing and an encoding scheme that exhibits variable frame alignment. The latter refers to an encoding/framing mechanism in which the number of encoded blocks occupied by a particular series of frames is variable due to unused space in the first block, for example in the 64B/66B code. Here, the number of encoded blocks occupied depends on the alignment of the start-of-frame (/S) code in the first 66b block. One problem (shown in FIG. 4) is that if the /S/ of a 64-byte frame appears in column 0, the frame will occupy 8 encoded blocks, whereas if the /S/ appears in column 4, the frame will occupy 9 encoded blocks.
Another problem is the underutilization of resources at the end of the burst. When an encoding scheme with variable frame alignment is employed in burst mode, there can be, depending on the frame alignment, unutilized transmission resources (i.e. unused upstream transmission time) corresponding to one encoded block minus one alignment quantum worth of transmission time. Specifically, in the case of 64B/66B encoding, if the /S/ of the first frame in the burst appears in column 4, and if the /T/ of the final frame of the burst appears in column 0, 1, 2, or 3, then the final 4 bytes of the burst are wasted (whereas in regular non-burst mode they would have carried required interframe gap). The extent of the underutilization is much more significant in networks which have a longer encoded block. This would include a network which (in addition to the functions already described) also employs a block-oriented, overhead-generating function (e.g. FEC with systematic framing as described above) to the transmitted stream.
Consider the case of 64B/66B encoding with systematic FEC framing as shown in FIG. 3. The number of encoded blocks (including parity) occupied by the burst depends on the alignment of the /S/ code in the first 66b block. Assume that there are 27 data blocks and 4 parity blocks in a FEC Codeword. If the /S/ of a 216-byte frame appears in column 0, the single-frame burst will occupy 31 encoded blocks (one FEC codeword), whereas if the /S/ appears in column 4, the burst will occupy 62 encoded blocks (two FEC codewords). As in the previous example, 1 FEC codeword minus 4 bytes worth of transmission time has been wasted.
The Multipoint Control Protocol (MPCP) performs control operations for EPON (including upstream transmission slot control). A MPCP REPORT message is sent by the ONU to the OLT to indicate upstream transmission bandwidth requirements, and a GATE message is sent from the OLT to ONU to indicate the upstream transmission slot assignment. The REPORT message of an EPON's MPCP informs the OLT of the ONU's bandwidth requirements (including encoding and FEC overhead). When the upstream channel operates in burst mode using encoding with variable frame alignment and with FEC, the ONU's eventual bandwidth requirement actually depends on which column the first /S/ falls in. As noted above, this variation is equivalent to just under one full FEC codeword. Consequently, the bandwidth value to be included in the REPORT would need to be the “worst case” (i.e. larger) value in order to guarantee that the grant in the OLT's GATE would be long enough for the burst.
In summary, employing encoding with variable frame alignment together with block-oriented FEC in a burst mode network leads to intermittent underutilization of resources. The request/grant mechanism typical of DAMA networks (as exemplified by REPORT/GATE in EPON) necessitates adopting the “underutilized” case as the norm for bandwidth reservations, in order for network behavior to remain predictable. This means underutilization will occur in every burst. Therefore, it is desirable to alter the encoding behavior performed at the beginning of the burst for efficient use of an upstream channel that leads to leads better utilization of resources.
Ethernet devices consist of two modules which communicate across a bus called the “Media Independent Interface”, as well known in the art. An EPON 10G ONU being an Ethernet device, its 2 highest-level component modules communicate across a 36-bit 10G Media Independent Interface (XGMII). The XGMII need not be physically present in the ONU device—however the ONU must exhibit the same externally visible behavior as it would if the XGMII were physically present.
Among the modules in known 10G EPON ONUs located above the XGMII are the following: a MAC layer (which enqueues transmittable frames); a MAC Control (which receives GATE messages from the OLT and signals to the MAC layer when the time to transmit has arrived); and a Reconciliation Sublayer (which transmits frame data across the XGMII during bursts and interframe gap codes between bursts as well as between frames during a burst). Among the modules located below the XGMII is a Physical Coding Sublayer (which includes the 64B/66B encoder and the FEC encoder). The encoders and other components of the Physical Coding Sublayer operate continuously and synchronously at a particular clock rate.